/**
 * 异步阻塞下载并且保存文件
 * url文件的地址
 * name文件名
 */
// #ifdef MP-WEIXIN
const filePathPrefix = wx.env.USER_DATA_PATH + '/reportFolderBase/';
// #endif

function asyncDownload(url, name) {
	return new Promise(function(resolve, reject) {
		const downloadTask = uni.downloadFile({
			url: url,
			success: (res) => {
				if (res.statusCode === 200) {
					console.log("临时路径：" + res.tempFilePath)
					//文件保存到本地		
					// #ifdef MP-WEIXIN
					uni.openDocument({
						filePath: res.tempFilePath,
						success: function() {
							console.log('打开文档成功')
						},
						fail: function(err) {
							console.log('openDocument:fail:', err)
						}
					})
					// uni.getFileSystemManager().saveFile({
					// 	tempFilePath: res.tempFilePath,
					// 	filePath: filePathPrefix + name,
					// 	success: function(e) {
					// 		uni.openDocument({
					// 			filePath: e.savedFilePath,
					// 			success: function() {
					// 				console.log('打开文档成功')
					// 			},
					// 			fail: function(err) {
					// 				console.log('openDocument:fail:', err)
					// 			}
					// 		})
					// 	}				
					// })
					// #endif

					// #ifdef APP-PLUS
					uni.saveFile({
						tempFilePath: res.tempFilePath, //临时路径
						success: function(e) {
							uni.showToast({
								icon: 'none',
								mask: true,
								title: '文件已保存：' + e.savedFilePath, //保存路径
								duration: 1000,
							});
							setTimeout(() => {
								//打开文档查看
								uni.openDocument({
									filePath: e.savedFilePath,
									success: function() {
										console.log('打开文档成功');
									}
								});
							}, 1000)

						}
					})
					// #endif
				}
			},
			fail: (res) => {},
			complete: () => {},

		})
		// downloadTask.onProgressUpdate((res) => {
		// console.log('下载进度' + res.progress);
		// console.log('已经下载的数据长度' + res.totalBytesWritten);
		// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);

		// 满足测试条件，取消下载任务。
		// if (res.progress > 50) {
		// 	downloadTask.abort();
		// }
		// })
	})
}
//暴露出去的方法
module.exports = {
	asyncDownload
}
